<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8" />
		<title>Document</title>
	</head>
	<body>
		<script type="text/javascript" >
			//在不改变原有alert方法的情况下，实现 mx.alert方法传4输出4， 非4情况以前逻辑保持一致
			function fun(str) {
				this.alert = function(a){
					if(a === '4') console.log(4)
					else this.__proto__.alert(a)
				}
			}
			fun.prototype.alert = function(str) {
					if(str === '1'){
							console.log(1)
					}else if(str === '2'){
							console.log(2)
					}else if(str === '3'){
							console.log(3)
					}else{
							console.log('未知')
					}
			}

			let mx = new fun()
			mx.alert('1') //1
			mx.alert('2') //2
			mx.alert('3') //3
			mx.alert('4') //4
			mx.alert('5') //未知
		</script>
	</body>
</html>